Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2009, 11:19
Интересующийся
Отправить личное сообщение для Athlete Посмотреть профиль Найти все сообщения от Athlete
 
Регистрация: 13.03.2009
Сообщений: 13

Проверка корректности введенных значений
начал изучать ajax, решил сразу попытаться решить актуальную задачу: нужно при переходи из элемента формы (текстового поля) сделать запрос к бд и узнать, есть ли там введенное значение, если нет, выдать алерт. Вот, что сам наваял

Скрипт на странице с формой:
function valbeton() 
{
if(document.getElementById('codebeton').value=="")
{
   window.alert("Не введено значение!");
   document.getElementById('codebeton').focus();
}
xmlHttp = new XMLHttpRequest();
var prod = document.getElementById('codebeton').value;
				var url = "/scripts/getnameprod.php?prod=" +escape(codebeton);
				xmlHttp.open("GET", url, true);
				xmlHttp.send(null);
				var response = xmlHttp.responseText;
				alert(response);
}


php cкрипт:
<?php

$db=@mysql_connect ("localhost", "upp", "");
if (!$db) {
			echo "Не удалось подключиться к БД!";
			}
else {
		mysql_select_db("upp");
		}
$codebeton = $_GET['codebeton'];		
$markabdb = mysql_query("SELECT marka FROM upp_beton WHERE code='$codebeton'");
$row = mysql_fetch_assoc($markabdb); 
$markab = $row['marka'];

header ("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
?>

<totals>
<marka>$markab</marka>
</totals>

<? mysql_close($db); ?>


кусок index.html:
<input type="text" name="beton" size="8" id="codebeton" onblur="valbeton();">


Единственное, что работает, если поле пустое, выскакивает алерт Функция valbeton пока не проверяет есть значение в базе или нет, я для начала хотел научиться просто делать запросы и выводить их, но все где то ошибка, подскажите где

Последний раз редактировалось Athlete, 03.08.2009 в 11:23.
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2009, 11:20
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Я рад за тебя

Не подскажешь адрес ресурса, на котором это работает?
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2009, 11:27
Интересующийся
Отправить личное сообщение для Athlete Посмотреть профиль Найти все сообщения от Athlete
 
Регистрация: 13.03.2009
Сообщений: 13

нигде это не крутится, у меня только на компе. Указал бы на ошибки, я был бы благодарен
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2009, 11:40
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Если работает, значит нет ошибок
Есть ошибка безопасности:
Сообщение от Athlete
$codebeton = $_GET['codebeton'];        
$markabdb = mysql_query("SELECT marka FROM upp_beton WHERE code='$codebeton'");
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2009, 11:47
Интересующийся
Отправить личное сообщение для Athlete Посмотреть профиль Найти все сообщения от Athlete
 
Регистрация: 13.03.2009
Сообщений: 13

дак в том то и дело, что не работает! А конкретно, запрос не выполняется, и не выводится марка бетона в алерте, в этом мой вопрос
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2009, 11:47
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Ответ нужно получать, когда он загрузился:
xmlHttp.onreadystatechange=function(){
	if(xmlHttp.readyState!=4)return;
	alert((xmlHttp.status!=200)?'нет соединения':xmlHttp.responseText);
}
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2009, 11:48
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от B~Vladi
в этом мой вопрос
Этого вопроса я не увидел в первом твоём посте
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2009, 11:50
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

И объект нужно создавать кроссбраузерно:
var xmlHttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48
Проверка корректности введенных значений Athlete Общие вопросы Javascript 1 25.06.2009 09:56